Embodiments of the present invention relate to a method for managing application data in a Near Field Communication (NFC) system embedded or to be embedded in a portable object and including at least one contactless data sending/receiving interface, one or more host processors, and a data routing or transferring processor to perform routing or transferring of application data between the contactless data sending/receiving interface and the host processor(s). The NFC technology is currently developed by an industrial consortium gathered under the name of NFC Forum (http://www.nfc-forum.org). The NFC technology derives from the Radio Frequency Identification (RFID) technology and uses NFC components having several operating modes, in particular a Reader Mode and a Card Emulation Mode.
In reader mode, an NFC processor operates like a conventional RFID reader to read or write access an RFID chip (contactless chipcard or tag). The NFC processor emits a magnetic field, sends data to the RFID chip by modulating the amplitude of the magnetic field and receives data from the RFID chip by charge modulation and inductive coupling. This mode is also referred to as “active” mode, since in this mode the component emits a magnetic field.
In the emulation mode, described by European Patent Publication No. EP 1 327 222 in the name of the applicant, an NFC component operates in a passive manner like a transponder to dialog with another reader and be seen by the other reader as an RFID chip. The component does not emit any magnetic field, receives data by demodulating a magnetic field emitted by the other reader, and emits data to this other reader by modulating the impedance of the antenna circuit thereof (charge modulation). This mode is also referred to as “passive” mode, since in this mode the component does not emit any magnetic field.
Other communication modes may be implemented, in particular a device mode where an NFC component must match another component in the same operating mode, with each component alternately switching to a passive state (without emitting field) to receive data and to an active state (emitting field) to emit data.
In addition to these various operating modes, an NFC component may implement several contactless communication protocols, for example, ISO 14443-A, ISO 14443-B, ISO 15693, Felica, or the like. Each protocol defines a transmitting frequency of the magnetic field, a method for modulating the amplitude of the magnetic field to emit data in active mode, and a method of charge modulation by inductive coupling to emit data in passive mode. An NFC component may therefore be a multimode and multiprotocol device. The applicant, for example, commercializes an NFC component under the name “MicroRead”.
Due to the wide communication abilities thereof, an NFC component is intended to be integrated into portable devices like mobile phones or Personal Digital Assistants (PDAs).
An NFC component of the type shown in FIG. 1, referenced as NFCS1, is thus meant to be manufactured. The system NFCS1 includes an NFC component referred to as NFCR1, and at least one first host processor HP1. Host processor refers to any integrated circuit including a microprocessor or a microcontroller and which is connected to a port of the NFC component. In numerous applications, the NFC system also includes a second host processor HP2, and sometimes a third host processor HP3.
The first host processor HP1 is the main processor of the device in which the NFC component is embedded. It is usually a processor for non secure applications, for example, the baseband (or radiotelephony) circuit of a mobile phone which controls various peripheral elements of the phone, like the keyboard, the display, the transmitter, the receiver, and the like. The second host processor HP2 may be a secure circuit, for example, the secure processor of a Subscriber Identification Module (SIM) card given by a mobile phone carrier and including a subscriber identifier. The third host processor HP3 may also be a secure circuit supplied by another service provider, for example, for secure payment applications. Such a processor also includes an identifier of the service user.
The resources of the NFC component are put at the disposal of the processors HP1, HP2, and HP3 to allow them to manage contactless applications. Example applications are illustrated in FIG. 2, which shows a mobile phone 30 equipped with the system NFCS1 of FIG. 1. The following applications may be distinguished:
1) Applications AP1 wherein the component NFCR1 of the mobile phone 30 is in reader mode to communicate in reading and/or writing with a contactless integrated circuit CLCT or a component NFCR1′ in card emulation mode. The mobile phone is in this case used like an NFC reader. This type of application may be free and, for example, include reading advertizing data inserted into an advertising display of a bus shelter. The application may also be paid and include, for example, reading information reserved for subscribers. The program of the application AP1 may be held and executed by the processor HP1 if the service is free or held and executed by one of the processors HP2 or HP3 if the service is paid because it requires an identification of the subscriber or the user.
2) Secure applications AP2 wherein the component NFCR1 of the phone 30 is in card emulation mode to be read by a conventional reader RD or another component NFCR1′, in applications of payment or paying access control (payment machine, metro entrance, or the like.). The mobile phone 30 is then used like a chip card. The program of the application AP2 is preferably held and executed by the secure processor HP2 or HP3, as shown in FIG. 1, because accessing the service requires an identification of the subscriber or user.
3) Non-secure applications AP2′ wherein the component NFCR1 is also in card emulation mode to be read by conventional readers RD or another component NFCR1′. The mobile phone 30 is then also used as a chip card but the program of the application AP2′ may be held and executed by the non secure processor HP1 or the processors HP2, HP3 (paid service providers may offer free applications).
4) Applications AP3 wherein the component NFCR1 of the mobile phone 30 is in device mode and dialogs with a component NFCR1′ embedded in another mobile phone or a computer. This type of application is usually free and allows data packets to be transferred from one device to another (point-point file transfer in particular). The program of the application AP3 is preferably held and executed by the non secure processor HP1, as shown in FIG. 1, which has a greater computing power than that of the secure processor HP2 if it is a SIM card processor or greater than that of the secure processor HP3.
Thus, making an NFC system implies routing or at least transferring, within the NFC system, data emitted by the processors HP1, HP2, HP3 and which must be carried to the NFC component (outgoing data emitted via the contactless data transmission channel), and reciprocally routing or transferring data received by the NFC component and which must be carried to one of the processors HP1, HP2, HP3 (incoming data received via the contactless data transmission channel).
FIG. 3 schematically shows an example of architecture of the NFC component NFCR1 within the system NFCS1. The component NFCR1 includes a contactless data sending/receiving interface CLINT equipped with an antenna circuit ACT, wire communication interfaces INT1, INT2, INT3 linked to the interface CLINT, and a data routing or transferring processor NFCC1. The interface INT1 is connected to the host processor HP1, the interface INT2 connected to the host processor HP2 and the interface INT3 to the host processor HP3.
An external device EXTD is shown facing the component NFCR1. The external device may be a component NFCR1′ or a conventional reader RD arranged in a computer, a payment terminal, a mobile phone, or the like, or a contactless chip CLCT and the antenna circuit thereof arranged on a support like a plastic or paper card, an electronic tag, or the like. When an NFC transaction starts between the system NFCS1 and the external device EXTD, the processor NFCC1 performs routing or transferring to a host processor HP1-HP3 application data read in or supplied by the external device EXTD, these data being received through the interface CLINT. The processor NFCC1 also performs routing or transferring data to the external device EXTD, via the interface CLINT, application data emitted by a host processor HP1-HP3.
US Patent Application Publication No. 2006/0136902 describes a mobile telephone including an RFID interface to capture data called “field data” and configured to then send information called “event tracking information” including the “field data” to a server, in order to manage a business method. The telephone also receives a state machine in the form of a compressed program, and decompresses this program to execute the functionalities of the state machine provided in relation with the business method steps.
In light of the state of the art, it may be desired to improve the process of the application data in an NFC system in order to improve the functionalities offered by the NFC systems to users.
As an example, some RFID chips (for example CLCT in FIG. 3) are equipped with a low cost and limited capacity memory and therefore only contain a small amount of information. There are, in particular, RFID chips containing only 48 bytes of data, so that the application data that can be read by an NFC system in this type of chip is reduced. The possibilities of exploitation or presentation of these data is therefore reduced by the host processor which receives and processes them within the NFC system.
Further, when data is exchanged between a host processor of the NFC system and an external device EXTD, there is generally no trace saved of the exchanges made if the host processor receiving or sending the data exchanged is not the main application processor of the NFC system, for example, the processor HP1 of FIG. 3. In practice, a direct connection may exist between the processor HP1 and one of the processors HP2, HP3, for example, a bus ISO 7816, which is not shown in FIG. 3, but service providers who control the functionalities of the host processors have limited the possibilities of exploiting this connection so that the possibilities of exchanging information between the processors are reduced. Thus a processor HP2 or HP3 may exchange application data with an external device via the interface CLINT without the processor HP1 being informed.